def sep(label=''):
    '''
    Utility function to print separator lines.
    :param label: Optional label
    :return:
    '''
    print('-' * 16, label, '-' * 16, sep='')


# （一）创建myjoint的源码文件按要求构建函数：（每题６分，共30分）
# 1、	构建一个匿名函数，实现求两个字符串的拼接。例如：将‘a’和‘b’拼接成‘ab’
sep(1)
print('1、	构建一个匿名函数，实现求两个字符串的拼接。例如：将‘a’和‘b’拼接成‘ab’')
print('将‘a’和‘b’拼接成:', (lambda a, b: str(a) + str(b))('a', 'b'))

# 2、	定义一个函数，比较两个数的大小，要求：定义成无参无返回值函数
sep(2)
print('2、	定义一个函数，比较两个数的大小，要求：定义成无参无返回值函数')


def xcompare():
    '''比较两个数的大小'''
    x = float(input('请输入第一个数：'))
    y = float(input('请输入第二个数：'))
    if x == y:
        print('两数相等')
    elif x > y:
        print('第一个数较大')
    else:
        print('第二个数较大')


xcompare()

# 3、	定义一个函数，比较两个数的大小，要求：定义成有参有返回值函数
sep(3)
print('3、	定义一个函数，比较两个数的大小，要求：定义成有参有返回值函数')


def xcompare_return(a, b):
    '''
    比较两个数的大小
    :param a: 第一个数
    :param b: 第二个数
    :return: 第一个数等于、小于、大于第二个数时，分别返回0, -1, 1
    '''
    if a == b:
        return 0
    elif a > b:
        return 1
    else:
        return -1


xresult_dict = {1: '大于', 0: '等于', -1: '小于'}
print(f'比较1和2：1{xresult_dict[xcompare_return(1, 2)]}2')

# 4、	定义一个函数numseq(),非关键字可变长参数，实现求任意个数的排序（升序或降序均可），调用numseq(22，33，88，44，1，99)
sep(4)
print('4、	定义一个函数numseq(),非关键字可变长参数，实现求任意个数的排序（升序或降序均可），调用numseq(22，33，88，44，1，99)')


def numseq(*args):
    '''求任意个数的排序'''
    xlist = list(args)
    xlist.sort()
    return xlist


print('调用numseq(22，33，88，44，1，99):', numseq(22, 33, 88, 44, 1, 99))

# 5、	定义一个敏感信息屏蔽函数mfilt（k,article）
# 敏感信息词组：keywords = ["凶杀", "暴力"]（或其他关键字"）
# yourtext = "美国大选剧终!特朗普同意开始总统交接程序，没有凶杀事件，也无关暴力冲突"
# 调用函数mfilt（keywords,yourtext）将列表内的关键字替换成“*”
sep(5)
print('5、	定义一个敏感信息屏蔽函数mfilt（k,article）')


def mfilt(k,article):
    '''
    敏感信息屏蔽函数
    :param k: 列表，敏感信息词组
    :param article: 原文
    :return: 屏蔽后的文字
    '''
    for kw in k:
        article = article.replace(kw, '*')
    return article


print('敏感信息词组：keywords = ["凶杀", "暴力"]')
keywords = ["凶杀", "暴力"]
print('yourtext = "美国大选剧终!特朗普同意开始总统交接程序，没有凶杀事件，也无关暴力冲突"')
yourtext = "美国大选剧终!特朗普同意开始总统交接程序，没有凶杀事件，也无关暴力冲突"
print('调用函数mfilt（keywords,yourtext）将列表内的关键字替换成“*”:')
print(mfilt(keywords,yourtext))
